package com.dzl.supplier.service;

import com.dzl.base.service.BaseService;
import com.dzl.supplier.pojo.WelfareSupplier;
import com.dzl.supplier.pojo.dto.WelfareSupplierDeliveryDto;
import com.dzl.supplier.pojo.dto.WelfareSupplierDto;
import com.dzl.supplier.pojo.dto.WelfareSupplierRestrictedAreasDto;
import com.dzl.supplier.pojo.query.WelfareSupplierQuery;
import com.dzl.supplier.pojo.vo.WelfareSupplierVo;
import com.github.pagehelper.PageInfo;

import java.util.List;

/**
 * 供应商信息表(WelfareSupplier)表服务接口
 * @author caobucao
 * @since 2021-05-18 16:31:00
 */
public interface WelfareSupplierService extends BaseService<WelfareSupplier> {

    /**
     * 获取供应商分页列表信息
     * @date 2021/5/18 16:42
     * @author caobucao
     * @param query 查询条件
     * @return java.util.List<com.dzl.supplier.entity.vo.WelfareSupplierVo>
     */
    PageInfo<WelfareSupplierVo> getSupplierVoListPage(WelfareSupplierQuery query);

    /**
     * 根据品牌id获取供应商分页列表信息
     * @date 2021/12/27 10:55
     * @author liuguanjun
     * @param query 查询条件
     */
    List<WelfareSupplier> selectSupplierListByBrandId(WelfareSupplierQuery query);

    /**
     * 保存供应商
     * @date 2021/5/18 16:56
     * @author caobucao
     * @param welfareSupplier 供应商对象
     * @return java.lang.Integer 影响条数
     */
    Integer saveSupplier(WelfareSupplierDto welfareSupplier);

    /**
     * 查看供应商关联商品数量
     * @date 2021/6/11 17:20
     * @author caobucao
     * @param id  供应商id
     * @return java.lang.Integer
     */
    Integer selectCountRelateGoodsBySupplierId(Integer id);

    /**
     * 查询供应商详情
     * @date 2021/9/22 0022 16:32
     * @author wangjian
     * @param id 供应商id
     * @return com.dzl.supplier.pojo.WelfareSupplier
     */
    WelfareSupplier querySupplierDetail(Integer id);

    /**
     * 批量更改发货信息
     * @date 2021/11/2 14:44
     * @author caobucao
     * @param dto 传递对象
     * @return java.lang.Integer
     */
    Integer batchUpdateSupplierDeliveryInfo(WelfareSupplierDeliveryDto dto);

    /**
     * 批量更改限制地区
     * @date 2021/11/2 15:53
     * @author caobucao
     * @param dto 传输数据
     * @return java.lang.Integer
     */
    Integer batchUpdateSupplierRestrictedAreas(WelfareSupplierRestrictedAreasDto dto);
}
